文章目录
  1. 1. JVM 监控工具——jconsole - 隐官陈十一 - 博客园
  2. 2. JVM 监控工具——jconsole
    1. 2.1. 1. 简介
    2. 2.2. 2. 基本配置
      1. 2.2.1. 2.1 JVM启动参数配置
      2. 2.2.2. 2.2 信任凭证配置
        1. 2.2.2.1. 2.2.1  jmxremote.access
        2. 2.2.2.2. 2.2.2 jmxremote.password
    3. 2.3. 3. 本地连接
      1. 2.3.1. 3.1 启动 jconsole
      2. 2.3.2. 3.2 macbook下查询程序的pid
      3. 2.3.3. 3.3 连接程序
    4. 2.4. 4. 远程连接
    5. 2.5. 5.jvisualvm

JVM 监控工具——jconsole - 隐官陈十一 - 博客园

JVM 监控工具——jconsole

1. 简介

  JConsole是一个内置Java性能分析器,可以从命令行或在GUI shell中运行。您可以轻松地使用JConsole(或者,它更高端的“近亲” VisualVM)来监控Java应用程序性能和跟踪Java中的代码。

  JConsole 工具以 java.lang.management API 为基础进行构建。JConsole 将连接到运行在同一个工作站或远程工作站上的应用程序。这些应用程序必须配置为允许访问。

  JConsole 连接到 Java 应用程序之后,会报告该应用程序的相关信息。详细信息包括内存使用情况、正在运行的线程和已装入类。该数据将帮助您监控应用程序和 JVM 的行为。该信息有助于了解性能问题、内存使用问题、挂起或死锁。

2. 基本配置

2.1 JVM启动参数配置

  -Djava.rmi.server.hostname=127.0.0.1

  配置的主机名信息,jconsole 远程连接时需要输入主机名

  -Dcom.sun.management.jmxremote

  开始 jmxremote 配置

  -Dcom.sun.management.jmxremote.port=8899

  jconsole 连接的端口

  -Dcom.sun.management.jmxremote.authenticate=false

  是否认证信任凭证

  -Dcom.sun.management.jmxremote.ssl=false

  是否启用SSL

2.2 信任凭证配置

  如果设置了信任凭证校验,则需要使用指定的用户及密码远程连接。

  配置文件在 jre/lib/management 目录下:

  

1294391-20190919170843620-1038874441.png

2.2.1  jmxremote.access

  

1294391-20190919170041024-35985398.png

   定义远程连接用户的操作权限

2.2.2 jmxremote.password

  1294391-20190919161326537-736767756.png

   定义远程连接用户的密码信息(明文存储)

3. 本地连接

3.1 启动 jconsole

  macos终端下输入: jconsole ,界面如下:

  jconsole会显示本地Java虚拟机上运行的Java程序

  

1294391-20190919161238726-65306147.png

3.2 macbook下查询程序的pid

  根据程序监听的端口号查询对应的 PID

isof -i: 9090

  1294391-20190919160205979-385295669.png

3.3 连接程序

  界面选择 pid 为 57823 的程序进行连接,连接成功后如下所示:

  

-110.png

4. 远程连接

  远程连接不知道是环境问题,还是别的原因,死活连不上,最后用 jvisualvm 连接成功。

  中间参考了一下几篇文章,还算干货,大家可以参考一下:

  【参考文章】:JConsole远程连接配置

  【参考文章】:windows下如何正确使用Jconsole远程连接linux主机上的JVM

  【参考文章】:JVM监测分析JConsole 

回到顶部

5.jvisualvm

  配置基本和 jconsole 一样;

文章目录
  1. 1. JVM 监控工具——jconsole - 隐官陈十一 - 博客园
  2. 2. JVM 监控工具——jconsole
    1. 2.1. 1. 简介
    2. 2.2. 2. 基本配置
      1. 2.2.1. 2.1 JVM启动参数配置
      2. 2.2.2. 2.2 信任凭证配置
        1. 2.2.2.1. 2.2.1  jmxremote.access
        2. 2.2.2.2. 2.2.2 jmxremote.password
    3. 2.3. 3. 本地连接
      1. 2.3.1. 3.1 启动 jconsole
      2. 2.3.2. 3.2 macbook下查询程序的pid
      3. 2.3.3. 3.3 连接程序
    4. 2.4. 4. 远程连接
    5. 2.5. 5.jvisualvm